Chrome использует измененную форму формата времени Windows (« Эпоха Windows ») для своих временных меток, как в файле Bookmarks
, так и в файлах истории. Формат времени Windows - это число, равное 100 нс с 1 января 1601 года. Формат Chrome - это число микросекунд, прошедших с той же даты, и, следовательно, 1/10.
Чтобы преобразовать временную метку Chrome в эпоху Unix и обратно, необходимо преобразовать ее в секунды и компенсировать разницу между двумя базовыми датами-временем (11644473600).
Вот формулы преобразования для меток времени Unix, JavaScript (Unix в миллисекундах), Windows и Chrome (вы можете изменить порядок + / × и - / ÷, но потеряете небольшую точность):
u : Unix timestamp eg: 1378615325
j : JavaScript timestamp eg: 1378615325177
c : Chrome timestamp eg: 13902597987770000
w : Windows timestamp eg: 139025979877700000
u = (j / 1000)
u = (c - 116444736000000) / 10000000
u = (w - 1164447360000000) / 100000000
j = (u * 1000)
j = (c - 116444736000000) / 10000
j = (w - 1164447360000000) / 100000
c = (u * 10000000) + 116444736000000
c = (j * 10000) + 116444736000000
c = (w / 10)
w = (u * 100000000) + 1164447360000000
w = (j * 100000) + 1164447360000000
w = (c * 10)
Обратите внимание, что это довольно большие числа, поэтому вам нужно использовать 64-битные числа или обрабатывать их как строки, как в PHP-модуле BC-math.